<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:s="http://jboss.com/products/seam/taglib"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:rich="http://richfaces.org/rich"
	xmlns:a="http://richfaces.org/a4j" xmlns:a4j="http://richfaces.org/a4j"
	template="/layout/template_box.xhtml">

	<ui:define name="head">
		<script>
		    function mascarar(){
		      
	            jQuery(".inteiro").unmask().mask('?99');            
	          }
	
			jQuery(function(){
	            mascarar();
				
			});
	    </script>


	</ui:define>

	<ui:define name="MenuInterno">
		<ui:include src="/layout/menu_turma.xhtml" />
	</ui:define>

	<ui:define name="body">

		<h2 class="t_turma">
			<h:outputText value="Cadastro de Turma" />
		</h2>

		<div id="tamanho_div">

			<a:outputPanel id="pnlForm" ajaxRendered="true">
				<a:form id="formTurmaHome" styleClass="form_confea">
					<s:validateAll>

						<ol>

							<li><s:div>
									<p class="tool_alerta">Os campos marcados com * são de
										preenchimento obrigatório.</p>
								</s:div></li>
							<li>
								<fieldset>
									<legend>
										<h:outputText value="Dados do Turma" />
									</legend>
								</fieldset>
							</li>


							<li><s:decorate template="/layout/edit.xhtml" id="decoNome">
									<ui:define name="label">
							Nome
						</ui:define>
									<h:inputText id="nome" required="true"
										requiredMessage="O campo 'Nome' é obrigatório"
										styleClass="campo_full" value="#{turmaHome.instance.nome}" />

								</s:decorate></li>

						
						
							<li><s:decorate template="/layout/edit.xhtml"
									id="decoCurso">
									<ui:define name="label">
							Curso
						</ui:define>
									<h:selectOneMenu
										requiredMessage="O campo 'Curso' é obrigatório." immediate="true"
										required="true"
										id="curso" styleClass="Combo"
										value="#{turmaHome.instance.curso}">
										<s:selectItems value="#{factories.cursos}"
											var="curso" label="#{curso.nome}"
											noSelectionLabel="Selecione" />
										<s:convertEntity />
									</h:selectOneMenu>

								</s:decorate></li>
								
					<li><s:decorate template="/layout/edit.xhtml" id="decoLotacao">
									<ui:define name="label">
							Lotação
						</ui:define>
									<h:inputText id="nome" required="true"
										requiredMessage="O campo 'Lotação' é obrigatório"
										styleClass="campo_num inteiro" value="#{turmaHome.instance.lotacao}" />

								</s:decorate></li>
						
							<li><s:decorate template="/layout/edit.xhtml"
									id="decoProfessor">
									<ui:define name="label">
							Professor
						</ui:define>
									<h:selectOneMenu
										requiredMessage="O campo 'Professor' é obrigatório." immediate="true"
										required="#{turmaHome.instance.alfabetizador==null and turmaHome.instance.professor==null}" 
										disabled="#{turmaHome.instance.alfabetizador!=null}"
										id="professor" styleClass="Combo"
										value="#{turmaHome.instance.professor}">
										<s:selectItems value="#{repositorioProfessor.listar()}"
											var="professor" label="#{professor.nome}"
											noSelectionLabel="Selecione" />
										<s:convertEntity />
										<a4j:support ajaxSingle="true" event="onchange" limitToList="true" reRender="decoProfessor,decoAlfabetizador"  />
									</h:selectOneMenu>

								</s:decorate></li>
					<li><s:decorate template="/layout/edit.xhtml"
									id="decoAlfabetizador">
									<ui:define name="label">
							Alfabetizador
						</ui:define>
									<h:selectOneMenu
										requiredMessage="O campo 'Alfabetizador' é obrigatório." immediate="true" 
										disabled="#{turmaHome.instance.professor!=null}"
										id="alfabetizador" styleClass="Combo"
										value="#{turmaHome.instance.alfabetizador}">
										<s:selectItems value="#{factories.alfabetizadores}"
											var="alfabetizador" label="#{alfabetizador.nome}"
											noSelectionLabel="Selecione" /> 
										<s:convertEntity />
										<a4j:support ajaxSingle="true" event="onchange" limitToList="true" reRender="decoProfessor"  />
										
									</h:selectOneMenu>

								</s:decorate></li>								
								

							<li><s:decorate template="/layout/edit.xhtml"
									id="decoCampus">
									<ui:define name="label">
							Campus
						</ui:define>
									<h:selectOneMenu
										requiredMessage="O campo 'Campus' é obrigatório."
										required="false" id="campus" styleClass="Combo"
										value="#{turmaHome.instance.campus}">
										<s:selectItems value="#{factories.campi}" var="campus"
											label="#{campus.nome}" noSelectionLabel="Selecione" />
										<s:convertEntity />
										<a4j:support action="#{turmaHome.trocaCidade}"
											reRender="decoCidade" ajaxSingle="true" limitToList="true"
											event="onchange" />
									</h:selectOneMenu>

								</s:decorate></li>

							<li><s:decorate template="/layout/edit.xhtml"
									id="decoCidade">
									<ui:define name="label">
							Cidade
						</ui:define>
									<h:selectOneMenu
										requiredMessage="O campo 'Cidade' é obrigatório."
										required="#{empty turmaHome.instance.campus}"
										disabled="#{not empty turmaHome.instance.campus}" id="cidade"
										styleClass="Combo" value="#{turmaHome.instance.cidade}">
										<s:selectItems value="#{factories.cidades}" var="cidade"
											label="#{cidade.nome}" noSelectionLabel="Selecione" />
										<s:convertEntity />
									</h:selectOneMenu>

								</s:decorate></li>
								
							
							<li><s:decorate template="/layout/edit.xhtml"
									id="decoParceiro">
									<ui:define name="label">
							Parceiro
						</ui:define>
									<h:selectOneMenu
										requiredMessage="O campo 'Parceiro' é obrigatório." immediate="true" 
										required="false"
										id="parceiro" styleClass="Combo"
										value="#{turmaHome.instance.parceiro}">
										<s:selectItems value="#{factories.parceiros}"
											var="parceiro" label="#{parceiro.nome}"
											noSelectionLabel="Selecione" /> 
										<s:convertEntity />
										
										
									</h:selectOneMenu>

								</s:decorate></li>	
								
								
									<li><s:decorate template="/layout/edit.xhtml" id="decoUF">
						<ui:define name="label">
							Zona de Atuação
						</ui:define>
						<h:selectOneMenu
										requiredMessage="O campo 'Zona de Atuação' é obrigatório."
										required="true"
										id="zona" styleClass="Combo"
										value="#{turmaHome.instance.zonaAtuacao}">
										<s:selectItems value="#{factories.zonaAtuacoes}" var="zona"
											label="#{zona.nome}" noSelectionLabel="Selecione" />
										<s:convertEnum />
									</h:selectOneMenu>
						
					</s:decorate></li>
					
							<li><s:decorate template="/layout/edit.xhtml" id="decoLocal">
						<ui:define name="label">
							Local de Funcionamento
						</ui:define>
						<h:selectOneMenu
										requiredMessage="O campo 'Local de Funcionamento' é obrigatório."
										required="true"
										id="local" styleClass="Combo"
										value="#{turmaHome.instance.localFuncionamento}">
										<s:selectItems value="#{factories.locaisFuncionamento}" var="zona"
											label="#{zona.nome}" noSelectionLabel="Selecione" />
										<s:convertEnum />
									</h:selectOneMenu>
						
					</s:decorate></li>
					
						<li><s:div style="position:relative">
						            <s:decorate template="/layout/edit.xhtml" id="decoTurno">
						              <ui:define name="label">
						               Turno
						              </ui:define>
						              <s:div>
						                <h:selectManyCheckbox value="#{turmaHome.instance.turnos}" required="true"
						                  styleClass="conhecimento" layout="pageDirection">
						                  <s:selectItems value="#{factories.turnos}" var="turno"
												label="#{turno.nome}"  />
						                  <s:convertEnum/>
						                  
						                </h:selectManyCheckbox>
						              </s:div>
						            </s:decorate>
						
						          </s:div></li>
						          
						          
						          	<li><s:div style="position:relative">
						            <s:decorate template="/layout/edit.xhtml" id="decoDias">
						              <ui:define name="label">
						               Dias de Funcionamento
						              </ui:define>
						              <s:div>
						                <h:selectManyCheckbox value="#{turmaHome.instance.diasFuncionamento}" required="true"
						                  styleClass="conhecimento" layout="pageDirection">
						                  <s:selectItems value="#{factories.diasFuncionamento}" var="dia"
												label="#{dia.nome}"  />
						                  <s:convertEnum/>
						                  
						                </h:selectManyCheckbox>
						              </s:div>
						            </s:decorate>
						
						          </s:div></li>
						          
						          <li><s:div style="position:relative">
						            <s:decorate template="/layout/edit.xhtml" id="decoAtivo">
						              <ui:define name="label">
						             	A turma está aberta
						              </ui:define>
						              <s:div>
						                <h:selectBooleanCheckbox value="#{turmaHome.instance.ativo}"
						                  styleClass="conhecimento" >
						                 					                  
						                </h:selectBooleanCheckbox>
						              </s:div>
						            </s:decorate>
						
						          </s:div></li>
							
							<li><s:decorate template="/layout/edit.xhtml"
									id="decoVoluntario">
									<ui:define name="label">
							Voluntário
						</ui:define>
									<h:selectOneMenu
										requiredMessage="O campo 'Voluntário' é obrigatório."
										id="voluntario" styleClass="Combo" immediate="true" required="false"
										value="#{turmaHome.voluntario}">
										<s:selectItems value="#{factories.voluntarios}"
											var="voluntario" label="#{voluntario.nome}"
											noSelectionLabel="Selecione" />
										<s:convertEntity />
								
										<a4j:support event="onchange" limitToList="true" reRender="divAdd,voluntario"  ignoreDupResponses="true" eventsQueue="default" ajaxSingle="true"  />
										
									</h:selectOneMenu>

								</s:decorate></li>
							<s:span id="divAdd">
							<a4j:commandButton value="Adicionar" rendered="#{turmaHome.voluntario.id!=null}"
								action="#{turmaHome.adicionarVoluntario}"
								reRender="decoVoluntario,div_voluntarios"  limitToList="true"
								ignoreDupResponses="true" eventsQueue="default" />
								</s:span>
							<s:div id="div_voluntarios">
								<rich:dataTable value="#{listarVoluntarios}" var="_voluntario"
									styleClass="grid_dados" cellpadding="0" cellspacing="0"
									border="0" id="voluntarioLista" rowClasses="grid_zebra,none">

									<rich:column>
										<f:facet name="header">Nome</f:facet>
										<h:outputText value="#{_voluntario.nome}" />
									</rich:column>


									<rich:column style="width:12%">
										<f:facet name="header">Ações</f:facet>
										<span> 											
											<a4j:commandButton value="Excluir" styleClass="excluir2"
												
												action="#{turmaHome.removerVoluntario(_voluntario)}"
												reRender="div_voluntarios" ajaxSingle="true" limitToList="true"
												ignoreDupResponses="true" eventsQueue="default" />


										</span>
									</rich:column>

								</rich:dataTable>
							</s:div>

						</ol>

						<fieldset>
							<h:messages globalOnly="false" styleClass="tool_alerta" />
						</fieldset>

						<a4j:commandLink styleClass="btn" action="#{turmaHome.salvar}" oncomplete="mascarar()"
							value="Salvar" reRender="pnlForm" />

					</s:validateAll>
				</a:form>
			</a:outputPanel>
		</div>
	</ui:define>

</ui:composition>
